<?php

namespace Modules\SmallApi\Http\Controllers;


use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Modules\SmallApi\Service\UserService;
use Modules\SmallApi\Service\LogService;

// use SimpleSoftwareIO\QrCode\Facades\QrCode;

class UserController extends BaseController
{

	/**
	 *	获取登录用户的信息
	 *	hinq 2019 08 30
	 *	使用场景【 个人中心 、 个人信息设置】
	 **/
	public function get_user_info( Request $request ){
    	$arr_list = UserService::get_one();
        return response_json( $arr_list );
    }


    /**
     *	更新用户的信息
     *	hinq 2019 08 30
     *	使用场景【 个人信息设置详情页】
     **/
    public function update_user_info( Request $request ){

    	$arrInput = (array) $request->all();
    	$arr_list = UserService::update_one( (array) $arrInput );
        return response_json( $arr_list );
    }



    /**
     *	获取登录用户的收货地址
     *	hinq 2019 08 30
     *	使用场景【 收货地址管理】
     **/
    public function get_address_list(){
		$arr_list = UserService::get_address_list();
        return response_json( $arr_list );
    }


    /**
     *	添加收货地址
     *	hinq 2019 08 30
     *	使用场景【 收货地址管理】
     **/
    public function create_address( Request $request ){
    	$arrInput = (array) $request->all();
    	$arr_list = UserService::create_address( (array) $arrInput );
    	return response_json( $arr_list );
    }


    /**
     *	获取指定的收货地址
     *	hinq 2019 08 30
     *	使用场景【 收货地址管理】
     **/
    public function get_one_address( Request $request ){
    	$nId = (int) $request->get('id');
    	$arr_list = UserService::get_one_address( (int) $nId );
    	return response_json( $arr_list );
    }


    /**
     *	更新指定的收货地址信息
     *	hinq 2019 08 30
     *	使用场景【 收货地址管理】
     **/
    public function update_address( Request $request ){
    	$arrInput = (array) $request->all();
		$arr_list = UserService::update_address( (array) $arrInput );
    	return response_json( $arr_list );
    }


    /**
     *  删除指定的收货地址
     *  hinq 2019 08 30 
     *  使用场景【  删除地址  】 
     **/
    public function del_address( Request $request ){
        $nId = (int) $request->get('id');
        $arr_list = UserService::del_address( (int) $nId );
        return response_json( $arr_list );

    }


   	/**
   	 *	获取VIP会员等级
   	 *	hinq 2019 09 02
   	 *	使用场景【个人中心 VIP会员】
   	 **/
   	public function get_viplevel(){
   		//获取所有vip等级
   		$arr_list = UserService::get_vip_list();

   		return response_json( $arr_list );
   	}


   /**
     * web_api 发送手机验证码接口
     *
     * @return array
     * @throws \Exception
     * @author wumengmeng <wu_mengmeng@foxmail.com>
     */
    public function send_phone_code( Request $request )
    {
        $s_phone = $request->get('phone',0);//登录表单信息
        $res = send_phone_code( $s_phone);

        $code = redis_phone_code( $s_phone );
        $arrLog['phone'] = $s_phone;
        $arrLog['code'] = $code;
        LogService::record_phone_code( (array) $arrLog );
        return $res;
    }



    public function b64_upload_img( Request $request ){

        $res = upload_single_file($_FILES["file"]);

        // $fileUrl = 'upload/imgs';
        // $dir = iconv("UTF-8", "GBK", $fileUrl);
        // if (!file_exists($dir)) {
        //     mkdir($dir, 777, true);
        // }
        // $suffix = '.' . pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION);
        // $picUrl = $fileUrl . '/' . self::GetRandStr() . $suffix;
        // move_uploaded_file($_FILES["file"]["tmp_name"], $picUrl);
        // ['state'=>1,'msg'=>'没有视频被上传','data'=>[],'error'=>''];
        return response_json( ['state' => 0, 'msg'=>'' , 'data' => $res['data'] ,'error'=>''] );
    }

  

    // public function ewm_png(){
    //     $res = QrCode::size(100)->generate('http://jin_small_api.rome9.com/sao_ewm_png?id=456');
    //     return $res;
    // }


    // public function sao_ewm_png( Request $request  ){
    //     $id = $request->get('id');
    //     dd( $id );
    // }


    /**
     *  修改用户的积分（添加、减少）
     *  hinq 2019 09 24
     * 
     **/
    public function user_integral_change( Request $request ){
        $arrInput = (array) $request->all();
        $arr_list = UserService::user_integral_change( (array) $arrInput );
        return response_json( $arr_list );
    }


    public function chenge_user_integral( Request $request ){
        try {
            $arrInput = (array) $request->all();
            shiwu_start();
            $res = UserService::chenge_user_integral( (array) $arrInput );
            shiwu_end($res);
            return response_json($res);
        } catch (\Exception $exception) {
            return hello_error('失败',[],$exception->getMessage());
        }
    }



}